<template>
<div id="root">
  <h2>人员列表</h2>
  <input type="text" placeholder="请输入名字" v-model="keyWord">
  <button @click="sortType = 2">年龄升序</button>
  <button @click="sortType = 1">年龄降序</button>
  <button @click="sortType = 0">原顺序</button>
  <ul>
    <li v-for="(p, index) of filPersons" :key="p.id">
      {{p.name}}-{{p.age}}-{{p.sex}}
    </li>
  </ul>
</div>
</template>

<script>
export default {
  name: "LieBiaoPaiXu",
  data() {
    return {
      persons:[
        {id:'001',name:'马冬梅',age:30,sex:'女'},
        {id:'002',name:'周冬雨',age:45,sex:'女'},
        {id:'003',name:'周杰伦',age:21,sex:'男'},
        {id:'004',name:'温兆伦',age:22,sex:'男'}
      ],
      keyWord:'',
      sortType:0,//0代表原顺序，1代表升序，3代表降序
    }
  },
  computed: {
    filPersons() {
      const arr = this.persons.filter((p) => {
        return p.name.indexOf(this.keyWord) !== -1
      })
      if (this.sortType) {
        arr.sort((p1, p2) => {
          return this.sortType === 1 ? p2.age-p1.age : p1.age-p2.age
        })
      }
      return arr
    }
  }
}
</script>

<style scoped>

</style>
